Android RemoteControlClient 位图缩放
全部标签 我有一个非常大的图像,我只想显示显示器大小的部分(无缩放),并且该部分应该恰好位于图像的中心。因为图像非常大,我无法将整个图像读入内存然后进行裁剪。这是我到目前为止所拥有的,但它会为大图像提供OutOfMemory。另外我认为inSampleSize不适用,因为我想裁剪图像,而不是降低分辨率。Uridata=getIntent().getData();InputStreamis=getContentResolver().openInputStream(data);Bitmapbitmap=BitmapFactory.decodeStream(is,null,null);有什么帮助会很好
使用Android2.2时,在NDK中获取位图数据非常容易,但对于2.1及更低版本,AndroidBitmap_lockPixels函数不可用。过去几个小时我一直在搜索,但一无所获。如何在不使用该函数的情况下访问位图的像素数据? 最佳答案 创建具有原始图像尺寸和ARGB_8888格式的空位图:intwidth=src.getWidth();intheight=src.getHeight();Bitmapdest=Bitmap.createBitmap(width,height,Bitmap.Config.ARGB_8888);将源位
我正在尝试对两个图像应用混合滤镜(在本例中为HardLight)。基本的Android库不支持HardLight,因此,我在每个像素上手动完成。第一次运行是有效的,但速度不尽如人意。从基本500x500图像和500x500过滤器生成500x500图像花费的时间太长。这段代码也用于生成缩略图(72x72),它是应用程序核心的组成部分。我想要一些关于如何加快速度的建议和/或提示。如果可以通过假设两个图像都不具有alpha来获得巨大yield,那很好。注意:BlendMode和alpha是示例中未使用的值(BlendMode将选择混合类型,在本例中我硬编码了HardLight)。public
好的,我要在屏幕上画很多“昆虫”。我的问题是,如果我正在绘制一只蜘蛛,加载位图、将其矩阵化到正确的角度并在屏幕上绘制(一次又一次),或者使用canvas.drawLine绘制一只Ant,会更快吗?绘制圆圈等?直接比较:位图:500字节,带透明度绘制:8条drawLines,2条drawCircles我已经有很多事情要做,所以这里的性能非常重要。提前致谢! 最佳答案 绘制位图要快得多。真正重要的是您要绘制多少像素(即overdraw,这将影响最大填充率。)使用位图还可以让您创建更丰富的图形而不会降低性能。
在我的代码中,我正在做这样的事情:publicvoiddoStuff(){BitmapscaledBitmap=decodeFileAndResize(captureFile);saveResizedAndCompressedBitmap(scaledBitmap);BitmaprotatedBitmap=convertToRotatedBitmap(scaledBitmap);driverPhoto.setImageBitmap(rotatedBitmap);if(rotatedBitmap!=scaledBitmap){scaledBitmap.recycle();scaledBi
我需要在Android上的java中计算两个图像之间的像素差异。问题是我有返回不准确结果的代码。例如我有3张非常相似的图片,但对于每张图片的比较,它返回的结果截然不同:pic1vspic2=1.71%;pic1vspic3=0.0045%;pic2与pic3=36.7%。BitmapFactory.Optionsopt=newBitmapFactory.Options();opt.inPreferredConfig=Bitmap.Config.ARGB_8888;opt.inSampleSize=5;BitmapmBitmap1=BitmapFactory.decodeFile("/s
我需要通过xml创建位图资源,例如:但我需要为此位图设置不透明度。有没有办法使用这个xml来做到这一点?我知道如果在位图标签内允许使用Shape标签,它会起作用,但我尝试过但没有成功。 最佳答案 如果您在ImageView中显示位图,您可能可以使用ImageView.setAlpha(int)方法。但是,如果通过RemoteViews访问ImageView,就像更新小部件时的情况一样,您将无法调用此方法(如果您尝试通过RemoteViews.setInt(int,String,int)调用它)你会得到一个异常告诉你。privateB
我们有Gallery,支持滑动。我们还有第3方组件支持ImageView上的双指缩放,例如ImageViewTouch在ImageViewZoom.现在我想把它们结合起来。问题是滑动事件被ImageViewTouch消费了并被画廊错过。两个组件如何消费事件?这会解决我的问题,因为最终,在几次事件之后,每个组件都会知道如何做出相应的react。例如,如果第一个事件是ACTION_DOWN,它可以是捏合缩放的一部分或滑动的一部分。两个组件(Gallery和ImageViewTouch)都应该使用它,以便知道在后续事件中要做什么。 最佳答案
背景:目标是使用OpenGL渲染数据编写一个相当大(至少2048x2048像素)的图像文件。今天我首先使用glReadPixels将32位(argb8888)像素数据放入一个int数组中。然后我将数据复制到一个新的短数组中,将32位argb值转换为16位(rgb565)值。在这一点上,我还颠倒了图像并更改了颜色顺序,以使opengl-image数据与android位图数据兼容(不同的行顺序和颜色channel顺序)。最后我创建了一个Bitmap()实例和.copyPixelsFromBuffer(Bufferb)以便能够将其作为png文件保存到磁盘。但是我想更有效地使用内存,以避免某些
我正在Android中制作一个布局(XML文件),它有两个subview(一个在屏幕右侧,一个在屏幕左侧)。我希望右边的View占用一个预先确定的空间(以dp为单位),并让左边的View占用所有剩余空间达到一个限制,此时它将停止扩展,两个布局将只随着屏幕变大,移动得更远。奇怪的是,如果我希望右侧的View是展开的View,而左侧的View是占据预设空间的View,这将非常容易。如果您将每个View设置为您想要的宽度(在水平线性布局中),Android将在两个View不适合的情况下自动缩小左侧的View。我想在一个布局文件中做到这一点;此布局已设计用于sw512dp-land和sw765